package com.singfan.core.service;

import com.singfan.core.dao.database.model.Shop;
import com.singfan.core.dao.database.model.ShopHair;
import com.singfan.core.dao.database.model.ShopHairService;
import com.singfan.core.dao.database.model.ShopToken;

import java.util.List;

/**
 * Author: hansonghe
 * Date: 2015-08-24 12:04
 * Desc:
 */
public interface IShopService {
    List<ShopHair> findShopHairList(int serviceType, int listOrderType, int cityId, int businessCircleId, double longitude, double latitude, int pageIndex, int pageSize);

    ShopHair findShopHair(long shopId);

    Shop findShop(long shopId);

    Shop findShop(String phoneNumber);

    List<ShopHairService> selectShopHairServiceList(long shopId);

    List<ShopHair> findShopHairList(List<Long> shopIdList);

    List<ShopHair> searchShop(String searchText, int pageIndex, int pageSize);

    List<Shop> findAllShop();

    List<ShopHair> findSlaveShopHairList(int masterShopId, int pageIndex, int pageSize, double longitude, double latitude);

    List<ShopHairService> selectShopHairServiceList(long shopId, List<Integer> serviceIdList);

    String createAccessToken(long shopId, int cityId, int status);

    ShopToken findShopToken(String accessToken);

    void changePwd(long shopId, String pwd);

    void addHairService(ShopHairService shopHairService);

    ShopHairService findShopHairService(int serviceId);

    void updateShopHairService(ShopHairService shopHairService);

    void deleteShopHairService(int serviceId);

    List<Shop> findSlaveShopList(int masterShopId);

    void createShop(Shop shop);

    boolean isExistShopByName(int masterShopId, String slaveShopName);

    boolean isExistShopByPhone(String phone);

    void updateShopInfo(Shop shop);

    void forbidShop(long shopId, boolean isForbid);

    void resetPwd(long shopId);
}
